/****************************************
 * Copyright (c) 2015 NiuWa.
 * All rights reserved.
 * Created on 2015年4月13日
 * 
 * Contributors:
 * 	   bwz - initial implementation
 ****************************************/
package com.niuwa.p2p.service.business;

import java.util.List;
import java.util.Map;

import com.niuwa.p2p.core.mvc.entity.PageBean;
import com.niuwa.p2p.entity.business.RepayPlan;
import com.niuwa.p2p.vo.front.account.RefundOrSettleBalanceVo;
import com.niuwa.p2p.vo.front.account.TransferDetailVo;


/**
 * @title 还款计划service
 *
 * @author bwz
 * @version 1.0
 * @created 2015年4月13日
 */
public interface RepayPlanService {

	/**
	 * @Description: 根据条件查询还款计划
	 * @param paramMap
	 * @return
	 * @throws Exception
	 */
	public List<RepayPlan> selectRepayPlanListPage(Map<String,Object> paramMap) throws Exception;
	
	
	/**
	 * @Description: 查询借款项目的基本信息 
	 * @param paramMap
	 * @return
	 * @throws Exception
	 */
	public TransferDetailVo selectRepayplanBaseInfo(Map<String,Object> paramMap) throws Exception;
	
	
	/**
	 * @Description: 查询还款时需要的资金信息
	 * @param paramMap
	 * @return
	 * @throws Exception
	 */
	public RefundOrSettleBalanceVo getRefundInfo(Map<String,Object> paramMap) throws Exception;
	
	
	/**
	 * @Description: 查询结清时需要的资金信息
	 * @param paramMap
	 * @return
	 * @throws Exception
	 */
	public RefundOrSettleBalanceVo getSettleBalanceInfo(Map<String,Object> paramMap) throws Exception;
	
	
	/**
	 * @Description: 还款
	 * @param paramMap
	 * @return
	 * @throws Exception
	 */
	public RepayPlan refund(Map<String,Object> paramMap) throws Exception;
	
	
	/**
	 * @Description: 结清
	 * @param paramMap
	 * @return
	 * @throws Exception
	 */
	public boolean settleBalance(Map<String,Object> paramMap) throws Exception;
	
	/**
	 * 分页查询还款计划
	 * @param paramMap
	 * @return
	 * @throws Exception
	 */
	public PageBean<RepayPlan> selectRepayPlanPageListByParams(Map<String,Object> paramMap);
}


